package top.infopub.mgr.hr.dao;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import top.infopub.generic.GenericDao;
import top.infopub.mgr.hr.vo.StaffInfoVo;
import top.infopub.model.hr.StaffInfo;
import top.infopub.model.mkt.ProjectInfo;

import java.util.List;

/** 人员信息(HR_STAFF_INFO) **/
@Repository
public interface StaffInfoDao extends GenericDao<StaffInfo, String> {

    /**
     * 根据人员id查询详情（包含就职记录）
     * @param id 人员id
     * @return
     * @see
     */
    StaffInfoVo selectById(String id);

    /**
     * 新增人员（自带id）
     * @param staffInfo
     * @see
     */
    void insertById(StaffInfo staffInfo);


    List<StaffInfo> selectByGroupId(@Param("groupId")String groupId, @Param("roleType")String roleType);

    StaffInfo selectByCode(@Param("code") String code);

    /**
     * 查询营销人员
     * @param types 1：总部-查询所有，2：区域公司-查询该区域和项目公司所有，3：项目公司-查询该公司所有
     * @param sguid 公司sguid
     * @return
     */
    List<StaffInfo> queryStaffInfoByWhere(@Param("types") String types, @Param("sguid") String sguid);

    List<ProjectInfo> optionalProjectName();
}
